Static Dependency Analysis for Concurrent Ada 95 Programs
نویسندگان
چکیده
Program dependency analysis is an analysis technique to identify and determine various program dependencies in program source codes. It is an important approach to testing, understanding, maintaining and transforming programs. But, there are still many difficulties to be solved when carrying out dependency analysis for concurrent programs because the execution of statements is unpredictable. In this paper, we propose a new approach to analyze dependencies for concurrent Ada 95 programs. Two graphs: concurrent program flow graph and concurrent program dependency graph are developed to represent concurrent Ada programs and analyze dependency relations. Our dependency analysis approach can get more precise information than most previous methods we know.
منابع مشابه
Automatic Translation of Ada-ECATNet Using Rewriting Logic
One major difficulty that faces developers of concurrent and distributed software is analysis for concurrency based faults like deadlocks. Petri nets are used extensively in the verification of correctness of concurrent programs. ECATNets are a category of algebraic Petri nets based on a sound combination of algebraic abstract types and high-level Petri nets. ECATNets have 'sound' and 'complete...
متن کاملImproving Static Analysis Accuracy on Concurrent Ada Programs: Complexity Results and Empirical Findings
This paper presents several techniques for improving the accuracy of static analysis of concurrent Ada programs. We determine the cost of building the program representations used to perform the analysis and examine the complexity of performing analysis on those representations. Inaccuracies in the static analysis are reflected in spurious results, which can be generated if the analysis conside...
متن کاملVerification in Concurrent Programming with Petri Nets Structural Techniques
This paper deals with verification of flow control in concurrent programs. We use Ada language model as reference. After translation of Ada programs into Petri nets (named Ada nets for Ada programs), we show how one can fully exploit the relationship between the behavior of the concurrent program and the structure of the corresponding Petri net. Using the siphon structure, we precise some struc...
متن کاملTasking Deadlocks in Ada 95 Programs and Their Detection
Tasking deadlock is one of the most serious and complex problems concerning the reliability of concurrent systems with Ada. In this paper, tasking deadlocks which may occur in Ada 95 programs are investigated, a representation, named the Task-Wait-For Graph, for task synchronization waiting state of an Ada 95 program is proposed, and a runtime detection method for the tasking deadlocks based on...
متن کاملStructural Testing of Concurrent Programs
Although structural testing techniques are among the weakest available with regard to developing confidence in sequential programs, they are not without merit. This paper extends the notion of structural testing criteria to concurrent programs and proposes a hierarchy of supporting structural testing techniques. Coverage criteria described include concurrency state coverage, state transition co...
متن کامل